'''
1.登录
2.退出
3.查询余额
4.取款
5.存款
6.交互
'''
#银行用户数据源
bank_users = [
    {'user':'zhangsan','password':'123456','balance':19000}
]
#登录功能
def longin():
    while True:
        print('='*15,'请您先登陆','='*15,)
        user = input('请输入您的用户名:')
        #遍历bank_uers中的所有用户
        for item in bank_users:
            #如果输入的用户名 在 用户名的列表中的话 就输入密码
            if user == item['user']:
                while True:
                    password = input('请输入您的密码:')
                    #如果输入的密码和数据中的一样就跳到功能界面
                    if password == item['password']:
                        menu(user)
                        break
                    else:
                        print('密码输入错误，请重新输入')
            else:
                print('=' * 15, '用户名不存在', '=' * 15)
#查询余额
def show_balance(user):
    #在数据库中查找user 的 用户信息
    for iteam in bank_users:
        #找到指定的用户名
        if iteam['user'] == user:
            #输出指定用户名的余额
            print('您当前的余额为:{0}'.format(iteam['balance']))
            break

#存款功能
def deposit_momey(user):
    # 在数据库中查找user 的 用户信息
    for iteam in bank_users:
        #找到指定的用户名
        if iteam['user'] == user:
            #输出指定用户名的余额
            print('您当前的余额为:{0}'.format(iteam['balance']))
            #输入要存入的金额
            add_money = int (input('请输入要存款的金额:'))
            #输出存款后的金额
            print('您当前余额为:{0}'.format(iteam['balance']+add_money))
            break
#取款
def withdrawal(user):
    # 在数据库中查找user 的 用户信息
    for iteam in bank_users:
        # 找到指定的用户名
        if iteam['user'] == user:
            # 输出指定用户名的余额
            print('您当前的余额为:{0}'.format(iteam['balance']))
            #输入要取出的金额
            while True:
                get_money = int(input('请输入要取出的金额:'))
                #如果取出的金额大于余额 则取款失败
                if iteam['balance']<get_money:
                    print('余额不足，请重新输入!')
                    #返回继续输入
                    continue
                else:#如果取出成功就显示取出后的余额
                    print('您当前余额为:{0}'.format(iteam['balance'] - get_money))
                    #退出while循环
                    break
        #如果找到了正确的用户就不会继续继续找
        break
#菜单的显示
def menu(user):
    while True:
        print('='*15,'{0}欢迎您使用中国银行'.format(user),15*'=')
        print('=' * 15, '1.查询余额', '=' * 15)
        print('=' * 15, '2.存款   ', '=' * 15)
        print('=' * 15, '3.取款   ', '=' * 15)
        print('=' * 15, '4.退出系统', '=' * 15)
        key = int(input('请输入您的选择:'))
        if key == 1:
            show_balance(user)
        elif key == 2:
            deposit_momey(user)
        elif key == 3:
            withdrawal(user)
        elif key == 4:
            print('=' * 15, '欢迎下次光临', '=' * 15)
            break
longin()
